The present invention relates in general to a computer system for automatically recommending items to a user. More specifically, the invention relates to a computer system that maintains a preference vector depicting an individual""s preferences based on previously sampled items, and makes recommendations of other items according to the preference vector.
There are a number of situations in which a person would like to know whether he or she will like an item before expending time and money sampling the item. For instance, when a person must decide on the next book to read, CD to listen, movie to watch, painting to purchase, or food to eat, he or she is often faced with a myriad of choices. The resources available in determining which of these choices will be to his or her liking pales in comparison to the number of choices that exist. Furthermore, the methods that do exist for helping a person determine whether the individual will like an item have limited accuracy given that such methods are often based on the preferences of other people rather than on the preferences of the individual himself. For instance, movie critics, book reviewers, and other types of critics recommend items based on their personal tastes. It is then up to the person to find a critic whose taste matches the individual""s taste before following the selected critic""s recommendations. Such a match may be hard or even impossible to find.
Previews and short synopses also provide information about an item, but it is hard for a person to determine whether he or she will like the item based on the limited information provided by these means. Furthermore, reading each synopsis or viewing each preview becomes time-consuming and inefficient if the individual is faced with a multitude of options, such as when the individual is in search of a book to purchase next from a bookstore.
As another example, individuals are often faced with a decision as to what to cook for dinner. In today""s environment most families consist of either two working spouses or a single working parent. As a consequence, at least one parent must come home from a long day at work and tackle the decision of what to make for dinner. Since the parent usually gets home from work around dinner time, the children and other family members are usually already hungry and tired. This situation often puts much stress on family members, in particular, the parent tasked with determining what meal to prepare (the primary care providing parent). The primary care providing parent is often pressured to prepare something quickly. Under this pressure, the parent opts most of the time for something simple and quickxe2x80x94if they have all the ingredients that they need to prepare the meal. If the parent does not have all the ingredients, he or she must make a trip to the store or figure out what they can make out of the ingredients at home. As a consequence of this situation, the family""s menu is unimaginative. The family will therefore typically end up eating the same food over and over again, or the family will eat food from the same outside vendor (take-out).
The stress on the primary care providing parent would diminish if a maid were hired to perform the meal preparation task. However, only certain families can afford the luxury of a maid. The above problems would also not exist if the primary care providing parent were not to work. The stay-home-parent could select a meal, buy the necessary ingredients, and have the food prepared by the time everyone else in the family returned home. This solution may also not be feasible if both spouses enjoy their work and neither one wants to give up his or her career. Furthermore, in many situations, it may not be economically feasible to have only one parent working.
Although automated recommendation systems and methods exist in the prior art which may aid an individual in making decisions such as what meal to cook, what book to buy, or what movie to watch, such systems are based on the preferences of other users, and are not based solely on the preferences of the users for whom the recommendations are to be made. For instance, prior art exists which discloses a method of recommendation where a selected user provides rating of sampled products (e.g. movies) and the system locates other user(s) whose preference have the closest match to the selected user""s ratings. Such other users are considered as xe2x80x9crecommending users.xe2x80x9d Recommendations to the user of unsampled products are based on the ratings of such products by the recommending users.
Prior art also exists which discloses a method of recommending items based on a selected user""s input list which lists items previously sampled by that user which the individual has liked. The system determines how often the items indicated by the user appear together on the input lists of previous consumers, and makes recommendations based on this information.
The recommendation systems disclosed the prior art, however, have limited accuracy because the recommendations are not made based solely on the user""s preferences, but also depend on the preferences of other users. It is therefore desirable to have an automatic system and method of recommending items to a person which are based solely on the user""s preferences. This will help prevent the individual from having to sample the item before determining whether or not it agrees with the individual""s tastes. With such a system, furthermore, it will no longer be necessary to try to predict an individual""s reaction to a product based on the preferences of other people.
If the system is to be used for recommending recipes for a family, it is desirable to have a system that will recommend recipes based on the tastes of all the family members. Just as a good maid or a stay-at-home parent, the system should learn and adapt to the family""s food preferences, and make the meal selections accordingly. In addition, just as a maid or stay-at-home parent, the system would also track what meals the family has eaten in the past to avoid needless repetition.
These and other objects are accomplished in accordance with the present invention by an automated recommendation system that maintains a preference vector for each user depicting his or her preferences based on previously sampled items. The system then makes recommendations of other items according to the preference vector.
In accordance with one aspect of the invention, initial setup questions are asked to the user to initialize his or her user""s preference vector. The user preference vector comprises vector fields that represent the user""s preferences for particular item attributes. Items are then recommended based on the user preference vector. This vector is modified based on the feedback from the user about the recommended items, allowing the system to learn and adapt to the user""s preferences.
In one particular aspect of the invention, the user preference vector comprises two kinds of fields: exclusive fields and inclusive fields. Exclusive fields are used to depict attributes not to be contained in the recommended products. Inclusive fields are used to store values reflecting a user""s degree of preference for certain attributes.
An item to be recommended is represented as a product vector. During the recommendation process, an item""s product vector is compared against a user preference vector to determine how close the item matches the user""s preferences. Item with the closest match are the recommended to the user.
The creation of product vectors for recommending dishes includes parsing an original recipe for its ingredients. These ingredients are mapped to the chemical components making up the ingredients. The value of each chemical component is then stored into the inclusive preference fields of the product vector.
In another aspect of the invention, recommendations are made based on a cluster vector where the cluster vector represents a group of items with similar characteristics and which are among the highest rated items sampled by the user.
Still other objects and advantages of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein is shown and described only the preferred embodiment of the invention, simply by way of illustration of the best mode contemplated for carrying out the invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the invention. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive.